Mã vạch Plessey Plessey

Plessey cũng là tên gọi của một loại mã vạch được phát triển bởi công ty này, hiện nay nó vẫn được sử dụng trong một số thư viện và thẻ trên giá sách của các cửa hàng bán lẻ, như là giải pháp trong phần kiểm soát nội bộ về hàng hóa còn trong kho. Ưu điểm của nó là tương đối dễ in bằng các máy in ma trận điểm (dot-matrix) rất phổ biến vào thời kỳ mà cách thức mã hóa này được giới thiệu, và mật độ in của nó trong một mức độ nào đó là cao hơn so với các loại mã hiện nay phổ biến hơn như Interleaved 2 of 5 hay Code 39. Các thông số hình thức của loại mã vạch này được thông báo vào tháng 3 năm 1971.

Các biến thể của mã vạch Plessey

Một biến thể của mã vạch Plessey và các thiết bị quét liên quan đã được Plessey cung cấp cho công ty ADS và biến thể này được biết với tên gọi Anker Code. Anker Code đã được sử dụng trong các điểm bán hàng ở châu Âu trước khi có EAN. Nguyên lý mã hóa cơ bản trong mã vạch Plessey cũng đã được MSE Data Corporation sử dụng để xây dựng mã vạch MSI của mình, đôi khi được biết với tên gọi là mã vạch Plessey biến đổi hay mã vạch MSI Plessey. Ứng dụng chủ yếu của mã vạch MSI là đánh dấu các mặt hàng trên giá hàng và quét sau này bằng các thiết bị quét di động được để thực hiện việc kiểm kê.

Thuật toán

Các đặc trưng

  • Mã vạch Plessey sử dụng 2 kích thước của chiều rộng của các vạch là vạch rộng và vạch hẹp. Khoảng trắng giữa các vạch không ảnh hưởng tới việc giải mã. Mã vạch này bao gồm phần tử bắt đầu - dữ liệu - phần tử kết thúc. Trong khoảng không gian của các phần tử bắt đầu và kết thúc thì các vạch màu đen được nhóm với nhau theo từng nhóm 4 vạch. Mỗi nhóm vạch tượng trưng cho một chữ hoặc số. Các vạch hẹp có giá trị bit bằng 0 và các vạch rộng có giá trị bit bằng 1, do vậy trong mã hóa của Plessey thì mỗi ký tự có giá trị 4 bit. Mã vạch Plessey có thể mã hóa các ký tự số từ 0 đến 9 và các ký tự chữ từ A đến F. Tổng cộng là 16 ký tự khác nhau.

Tuy nhiên, sau này người ta có bổ sung thêm loại ký tự có giá trị 6 bit và như thế nó có thể mã hóa 26 = 64 ký tự.

  • Kiểu biểu đạt tượng trưng này nguyên thủy là không tự kiểm tra (không có số kiểm tra), mặc dù các số kiểm tra theo phép chia cho 10 hay 11 (phụ thuộc vào các ứng dụng) sau này thông thường được thêm vào, lấy theo tỷ trọng xác định trước của từng ký tự có mặt trong mã vạch, tùy theo vị trí của chúng trong mã vạch và lặp lại theo một chu kỳ nhất định.
  • Là loại mã vạch liên tục.

Mã bắt đầu

Luôn luôn có giá trị bit là 1101.

Phần dữ liệu

Bảng dưới đây liệt kê các ký tự có thể mã hóa trong dạng 4 bit và giá trị bit của chúng.

Ký tựGiá trị bitKý tựGiá trị bit
0000080001
1100091001
20100A0101
31100B1101
40010C0011
51010D1011
60110E0111
71110F1111

Mã kiểm tra

Nó sẽ là một khối mã 8 bit và có thể xác định bằng hai số 4 bit sử dụng cùng một cách thức biểu diễn như phần dữ liệu.

Khối ngắt

Mã kiểm tra sẽ được tiếp theo bởi 2 giá trị nhị phân 'l' trong trường hợp mã vạch được đọc từ trái qua phải.

Trong trường hợp mã vạch được đọc hoặc từ trái qua phải hoặc từ phải qua trái, mã kiểm tra sẽ được tiếp theo bởi một vạch đơn rộng duy nhất.

Mã bắt đầu ngược

Trong trường hợp đọc mã vạch theo hai chiều ngược nhau, vạch ngắt được tiếp theo là mã bắt đầu ngược giá trị 4 bit, vì thế 1100 được sinh ra nếu mã vạch được quét từ phải qua trái.

Các lề

Các lề trắng có độ rộng tương đương với ít nhất 4 bit nằm ở hai đầu của mã vạch để ngăn không cho thiết bị đọc nhầm sang mã vạch khác nằm kề bên.

Khoảng cách in ấn

Mỗi bit dữ liệu của mã vạch được in thành vạch màu đen, tiếp theo là một khoảng trắng có độ rộng xác định trước. Tổng của hai độ rộng này tương đương với pitch danh định. Dung sai chỉ ra trong bảng dưới đây được điều chỉnh theo các điều kiện sau:

  • Kích thước vạch rộng: Vạch/Khoảng trắng < 1 khi khoảng trắng < 0,009 inch hay 0,229 mm.
  • Kích thước vạch hẹp:Vạch/Khoảng trắng > 0,33 khi vạch > 0,005 inch hay 0,127 mm

Bảng dưới đây định nghĩa kích thước của vạch và khoảng trống theo đơn vị 1/1000 của inch đối với các mật độ mã khác nhau

Bit/inchPitch danh định (p)Giá trị nhị phânVạch/Khoảng trốngTối thiểuBình thườngTối đa
400,6351Vạch0,3050,3430,381
400,6351Khoảng trống0,2540,2920,305
400,6350Vạch0,1140,1270,152
400,6350Khoảng trống0,4710,5080,533
320,7871Vạch0,3940,4320,470
320,7871Khoảng trống0,3180,3560,394
320,7870Vạch0,1270,1520,173
320,7870Khoảng trống0,5840,6350,685
251,0201Vạch0,5330,5840,635
251,0201Khoảng trống0,3810,4320,483
251,0200Vạch0,1270,1780,229
251,0200Khoảng trống0,7870,8380,889

Các đốm

Trong quá trình in ấn, có thể xảy ra hiện tượng tạo đốm đen trong khu vực trắng (thừa mực) và đốm trắng trong khu vực đen (mất mực)Các đốm đen trong khu vực khoảng trắng cần phải có kích thước nhỏ hơn 0,038 mm (0,0015 inch) theo bất kỳ hướng nào. Ngoài ra các đốm này phải cách xa rìa các vạch ít nhất 0,051 mm (0,002 inch) và các đốm này phải cách nhau ítnhất 0,203 mm (0,008 inch).

Các đốm trắng trong các vạch phải có kích thước nhỏ hơn 0,051 mm. Ngoài ra các đốm này phải cách xa rìa các vạch ít nhất 0,051 mm (0,002 inch) và các đốm này phải cách nhau ítnhất 0,203 mm (0,008 inch).

Tính số kiểm tra

Theo phép chia 10

Các mã vạch MSI Plessey chỉ sử dụng các số và luôn luôn có số kiểm tra theo phép chia cho 10, và có thể có số kiểm tra thứ hai. Phương pháp tính như sau:

  • Tạo ra một số mới trên cơ sở số đã cho. Nếu số đã cho có chiều dài chuỗi là một số chẵn, số mới tạo ra từ các số ở các vị trí chẵn; nếu chiều dài chuỗi là lẻ, số mới tạo ra lấy ở các vị trí lẻ. Ví dụ, số nguyên thủy là 523746, số mới sẽ là 276; nếu số gốc là 41852, số mới sẽ là 482.
  • Nhân số mới tạo ra với 2. Giả sử số gốc là 523746, thì số tạo ra sau phép nhân là 276 x 2 = 552.
  • Cộng tất cả các số trong kết quả. Ví dụ, 5 + 5 + 2 = 12.
  • Cộng kết quả này (12) với các số chưa sử dụng trong số gốc. Vì thế 12 + 5 + 3 + 4 = 24.
  • Lấy số dư trong phép chia cho 10. Trong trường hợp này số dư bằng 4. Số kiểm tra sẽ là 10 - 4 = 6. Trong trường hợp số dư bằng 0, số kiểm tra sẽ cũng bằng 0.

Nếu số kiểm tra thứ hai cần có thì coi số mới tạo thành (trong ví dụ là 5237466) như là số gốc để tính toán theo các bước nói trên.

Theo phép chia cho 11

Một số ứng dụng khác lại cần số kiểm tra theo phép chia cho 11. Cách tính số kiểm tra như sau:

  • Các tỷ trọng của các số đã cho trong số gốc tính từ phải qua trái tuân theo trật tự sau: 2, 3, 4, 5, 6, 7. Nếu số đã cho vượt quá 6 chữ số thì chu kỳ này lại lặp lại. Ví dụ, cho số 943457842 thì tỷ trọng sẽ là: 432765432
  • Nhân từng số trong số đã cho với tỷ trọng của chúng và cộng tất cả các kết quả: (9x4)+(4x3)+(3x2)+(4x7)+(5x6)+(7x5)+(8x4)+(4x3)+(2x2) = 195
  • Lấy số dư trong phép chia cho 11: 195/11 = 17 dư 8. Số kiểm tra sẽ bằng 11 - 8 = 3. Nếu chia hết thì số kiểm tra bằng 0.
  • Thêm số kiểm tra (bằng 3 trong ví dụ này) vào cuối số đã cho. Trong ví dụ này số tạo thành là 9434578423.